Extract kerning values from PMGlyphPoint data returned by IFontInstance::GetKerns.
Initial support for generating clusters in the FallbackRun class
Get kerning semi right
Kerning fixed in fallback
Allocate glyph_points array correctly
Fix cursor falling of end of paragraphs.

EOL char needs to have a glyph assigned to it otherwise cursor tracking goes wonky
Add support for positioned glyphs

Thought this already worked turns out it's been missing all this time!
Fix silly arithmetic error so multiple run generation actually works
Check returns more carefully and fix miscalculation for text spans
Update InterfacePtr ctor calls to UseDefaultIID() from IID_ #defs
Fix using wrong delete operator to tidy up arrays

Also make the TextIterator update work the way it was intended in layout_span_with_spacing()
Fix bug #1 TrueType Fonts are removed from InD font list by Grind

Trying to get IFontInstance::FillOutGlyphIDs() to fill out zero glyph ids even when passed an empty buffer cause it to Release the FontInstances parent IPMFont object. This evenutally causes the font to be destroyed in the InD app itself, rmoeving it from the UI font list.
Get the line breaking algorithm working
Let the std::list derived run class store clusters rather than  pointer to clusters.

Made for ugly code when it comes to dereferencing clusters through iterators. This is also poor use of memory as each pointer stored in the list is a small allocation on top of the cluster objects they point to.
Remove the optionality of fill_by_span()'s span argument.

Since finding I can just as easily get the info at the call site there is no need for tile::fill_by_span() to dig this up on it's own and this makes that function a little simpler.
Ensure run's drawing style object is addref'd correctly

Passing the object through a bare pointer before having the new run take ownership skipped increasing the reference count and caused a double release.
Consolidate arguments for Tiler::next_line into fewer arguments

Move lookup of the various values which are only used by the Tiler class into it's methods. Reduce the number of arguments passed and code needed by the calling class.
Implement line paragraph and first line indents
Include kern adjustments and x adjustments in a clusters width and don't cache
Fix linebreak point so it skips possible trailing whitespace before searching