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.
I couldn't find anywhere in the Arduino includes that mapped CPU dependent pin ports and bit numbers to Arduino pin names. If they do exist, then they could be used in place of the following ones.

These defines could also be moved to the pins_arduino.h files if variants of the MicroView are created using different processors and sharing this library.