readInput would, in some cases, take effect even though our textarea was in context-menu-hack mode.
- Trailing commas in object literals are not allowed by the spec and are handled poorly in some browsers. - Added var to some variable declarations that were not meant to be globals.
Holding shift and then moving the cursor through the API would cause a 'selection extension' to happen, instead of simply moving the selection to its new state. Most visible when bindin shift-key combos to some editing function.