Altered font structure slightly, and provided a reliable method to calculate code pointwidths

The structure of font.rb has been altered slightly. Namely the
FontDescriptor has been broken off into its own class, and
significantly more of the FontDescriptor is read in. The FontDescriptor
will also read in the FontFile2 (TrueType) font program (if it exists).
Doing this adds a dependency to ttfunk.
glyph_width method should now work for most fonts, glyph_width returns
values in "glyph space" where 1000 glyph space = 1 text space
width_of_fragment method was added (this relies heavily on
glyph_width), and should probably be used instead of glyph_width as it
can be passed an entire fragment (that might be presented with TJ)
added *.gem to .gitignore
additional changes to support previous changes to Font

includes the require statement for font_descriptor.rb, and adds a
dependency to ttfunk in the gemspec
fixes typo in font.rb that emitted lots of debug messages
Changed debug_font to integer

The debug_font variable (used by font_descriptor and font) was a
boolean, this has been changed to an integer so that not all debug
messages are dumped unless it is desired.
Altered page state internals, and added two things to what is stored in the stack

In preparation for the formatted text output It was useful to have the
text_line_matrix and the text_matrix stored in the state history. The
formatted text output will also need to clone the top of the state
stack, so the clone method has been moved out of the private section
formatted text code

the code required to support the formatted text output. formatted text
can be retrieved by calling page.formatted_text
created options for formatted text
tweaking output
created a column test pdf
Merge pull request #61 from nmadura/master

made changes to cmap to allow it to handle ligatures and surrogate pairs
update integrity YAML
small spec tidy-up
update a spec to pass on 1.8 and 1.8
renamed column_test_integration pdf
created some tests for multicolumn output
Merge remote-tracking branch 'upstream/master' into multi-column_output
added column_integration to integrity.yaml

Added the newly created column_integration.pdf file used to test
milt-column output to the integrity.yaml file, because not having it in
place was causing a failure to be generated when running rspec.
Read and parse glyph list once only, and cache the results (for performance)
Added explanatory comment