Minimise overdriving of display inputs, plus some small fixes.

These changes are my attempts to further minimise the problem of the display's 3.3V inputs being overdriven by the CPU's 5V outputs. The goal is to keep all display inputs low as much as possible.

A beneficial side effect is that the speed of some operations has been improved. For example, the uView.display() function is now about 4 times faster (from 2.9ms down to 0.74ms). The clear() functions are similarly faster.

I've also added a uView.end() function, which powers down the display. This can save power when the display only occasionally needs to be on. uView.begin() will power the display back up.  uView.display() will re-display the screen buffer, which isn't affected by, and can be modified, when display power is off.

I've also fixed a few comments, bugs, and compiler warnings along the way.
The wait function has been separated from the transfer function. By holding off on doing the wait until just before we send another byte, extra work can be done while the data is being shifted out.
We have to be sure to wait at the proper times within the code, though.