REQUIRES ROOT, ADB and SU
Please note. This will not remap the application switcher to HOME LONG PRESS. I don't know how to do it. If you know, you can reply here and we'll add this part.
Second note. This will remove the ICS menus (such as GMAIL on the top right). Again I'm not sure how to fix these, this is the default behaviour for phones that have a physical menu key. If someone knows of a hack to avoid that, please share.
All you need to do here is edit build.prop and add qemu.hw.mainkeys=1. THen edit your keyboard layout (qwerty.kl file) and change MENU 88 from APP_SWITCHER to MENU.
First of all make a back up of build.props and qwerty.kl
> adb pull /system/build.prop build.prop.backup
> adb pull /system/usr/keylayout/qwerty.kl qwerty.kl.backup
Make the system rewriteable
> adb shell
# mount -o remount,rw /system
Append the following line to the end of build.prop file
# echo qemu.hw.menukeys >> /system/build.prop
Exit out of root and shell
Now we need to remap the menu key.
> adb pull /system/usr/keylayout/qwerty.kl
For this part, we need to edit qwerty.kl and remap the Application Switcher to the Menu key. IF you want to make a backup of your keyboard file you can make a copy of it now (we are just changing one line though)
> notepad qwerty.kl
Edit the last line:
key 88 APP_SWITCH WAKE_DROPPED
key 88 MENU WAKE_DROPPED
If you try to push the file back, you might get a read-only error. So what we do here is make the file writeable and overwrite it.
> adb shell
# chmod 777 /system/usr/keylayout/qwerty.kl
Now try pushing it!
> adb push qwerty.kl /system/keylayout/qwerty.kl
Reboot and you're done!