Modularize the vim.plp code to generate HTML showing a keyboard sheet.
This allows the code to be reused on other pages (non-vim key sheets).
Besides using an object (instead of global variables) to store specific
data, nothing much should have changed.
The only exception is that $ascii is unavailable at keyboard
initialization (do 'keys.inc.pl'), so key characters are always unicode.
This is only relevant for "foreign" layouts, for which users are
expected to have Unicode-capable environments anyway, so it doesn't
seem an important issue. It could be solved by loading the map only
at object creation, but this is faster for persistent servers.