Rewrote CCLabelBMFont
Rewrote CCLabelBMFont

- #1 optomized so that there aren't 4+ interations through the string
- #2 optomized to remove O(n) lookups for every character (4+ times) -
e.g. CCBMFontConfiguration.CharacterSet (List<>)
- #3 bug fix to remove crashing bugs because of trying to use this[i] ==
null
- #4 bug fix to properly align horizontally -- wasn't calculating real
character position
- #5 rewrote in a more readable way, forever removed skip, previousSkip,
etc.
- #6 bug fix to properly handle whitespace at beginning and end of lines
when doing horizontal alignment
- #7 returning the correct ContentSize once calculated
- #8 removed the second copy of labelText so there is now only 1
- #9 now work with (and support) AnchorPoint
- #10 fixed bugs with
- #11 exposed LineHeight and LineCount
- #12 fixed bugs in GetLetterPosXLeft() and GetLetterPosXRight because
they weren't handling scaling correctly then removed them completely as
new algorithm didn't require such calculations.

Wanted to expose Draw() to be able to force redrawing for things like
updating scores but instead left that functionality in SetString().

TukekeSoft/CocosSharp,zmaruo/CocosSharp,MSylvia/CocosSharp,zmaruo/CocosSharp,mono/CocosSharp,haithemaraissia/CocosSharp,mono/CocosSharp,TukekeSoft/CocosSharp,MSylvia/CocosSharp,haithemaraissia/CocosSharp