Bug 956170: implement new visuals for refactored keyboard

This pull request applies the new keyboard visuals to the refactored keyboard in test_apps/demo-keyboard.

It includes a lot of CSS changes, and some corresponding JS changes, including a new system for handling touch events when the character alternatives menu is displayed.

Also, there are various minor bug fixes mixed in with this patch