Change HarfBuzzShaper to use FloatBoxExtent for glyp bounds

Add new FloatBoxExtent class (to complement existing int and LayoutUnit
versions) and update HarfBuzzShaper to use this class instead of four
separate float values to represent the glyph bounding box.

R=dglazkov@chromium.org
BUG=354165

Review URL: https://codereview.chromium.org/206403004

git-svn-id: svn://svn.chromium.org/blink/trunk@169674 bbb929c8-8fbe-4397-9dbb-9b2b20218538