Add printer.setFont('B') command for choosing the second font

As decribed here:
    http://forums.adafruit.com/viewtopic.php?f=19&t=32659
the printer currently sold by Adafruit supports two fonts.  The second font ("B") allows printing 42 characters per line in the small size.  The printer's own self-test prints out this font and calls it "Font B."  The default font is Font A and is 12x24 pixels.  The "compressed" font is Font B and it is 9x17.

This pull request add the "compressed" font with setFont('B'), and updates the width and height calculations so that they are based on character width and line width in pixels, rather than being hand calculated.  It also add saccessors for char size getCharWidth, getCharHeight, getMaxColumn. 

In examples, there is also a new test program.