Fix of mobile virtual keyboard fix

Fix a few issues of PL #9.

## Changes

1. Detect user-agent before executing mobile-only code. This should keep desktop version's behavior unchanged.
2. Move the hidden input along with the ~~cursor~~ `content` element  to get the correct scrolling behaviors.
3. Update jQuery to version v1.11.1

## Test Browsers

* Desktop (Windows 7 x64)
  - Chrome 35.0.1916.153
  - Firefox 29.0.1
* Mobile (iPad2 iOS7)
  - Safari
  - Chrome

## Known Issues

Please only merge this PL when all of the following issues are either by-passed, resolved or identified as bugs outside of this PL's scope.

- [x] ~~Input's caret won't hide on certain mobile browsers like mobile Safari. There's nothing much can be done since it's browser feature and out of CSS's reach.~~ **By-passed by placing the input out of sight.**
- [x] ~~Certain mobile browsers, like mobile Safari, will ignore most `focus()` calls to get better performance. Input can be only focused from a mouse event handler. This causes the input to lose focus, which cases virtual keyboard to disappears, every time a command is entered.~~ **By-passed by putting the input in body section instead of `content` div to avoid losing focus.**
- [x] In mobile Chrome, content is resized to accommodate the virtual keyboard. Somehow this behavior only happens the second time the virtual keyboard is shown. ~~Not sure if this is a bug of mobile Chrome or not.~~ **Fixed in d972c61**
- [x] In mobile Safari, auto-scroll is wrong when content is not long enough. ~~Might be~~ It is a bug in auto-scroll amount calculation. In that case, it is not introduced by this PL. **Fixed in 38ab61c**