add #pt2pt to Prawn::Measurements
initial support for pluggable parsers

parser management is done in `Prawn::Text::Formatted`.
i tried to keep everything as simple as possible!
correct interface of to_array method in prawn default parser
different approach: choose the parser when the document is created.
=> new option called `:parser` in `Prawn::Document`
   defaults to the parser shipping with Prawn (`Prawn::Text::Formatted::Parser`).
Failing test to proof the same font objects aren't equals
Implemented Font#hash and Font#eql?
Removed duplicate methods in Font
Pure whitespace removal
Revert "Pure whitespace removal"

This reverts commit 258495979060bd64b61a6cb942c01fa2f1b6abf6.
Much better Font#eql?, slightly better Font#hash
Work around Font#size being private
Extracted two paths of Prawn::Document#width_of into private methods
Removed broken thread-local cache in Prawn::Table::Cell::Text#styled_width_of_single_character
build failures on jruby should fail the entire build
update supported runtimes statement
Naive font metric cache implementation
Failing test to proof the same font objects aren't equals
Implemented Font#hash and Font#eql?
Removed duplicate methods in Font
Pure whitespace removal