Implement basic keyboard views
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.