Implement basic keyboard views

Administrator requested to merge implement-basic-views into master

Use existing concepts of levels and modifier latches and locks to implement the three view design of issue #38 (closed).

The use of a lock to switch from letter to numbers and a latch to handle upper and lower case has side effects, but these can be addressed in a future commit.

Merge request reports