Move Pe shortcuts from location-based to key-based

My final GCi 2013 patch, finally got time!

(this is all from memory) The code has been changed to facilitate primarily key-based bindings, and has fallback location-based for two reasons: Backwards compatibility, and non-mapped keys (F1 through F12, for example). Surprisingly, this wasn't as much code as I expected!

(fixes #2)