demo keyboard app with dynamic hit target resizing

make shift and ?123 keys work

defined controller and hit detector classes

get key alternatives menu working

define a layout as a set of pages

add dynamic hit target resizing

visual tweaks

fix build-time configuration bug

remove visual indication of dynamic resizing

use <template> elements to define basic keyboard elements

Allow Backspace, Return, etc to be static

Use textBeforeCursor for next character prediction; fix minor bugs

add autocorrect dictionary
Merge pull request #13538 from davidflanagan/demokbd

demo keyboard app, NPOTB