Instead of many small explicit layer changes, allow implicit animation.

Turned out updating CALayer position each frame is slow.  It is better to
update position rarely and allow Core Animation to handle intermediate state.
Try to draw text manually with Core Text.
Draw focusHeight part of vertical line.
Animate running focus.
Add one more possible character.
Assert focusLambda has correct value and fix startCharacterDiscreteIndex.
Use in MSSRunningDiscreteFocusLine the same gradient rules like in MSSRunningFocusLine.
Limit 'i' to visible characters directly in 'for'.

This will be used in a following commit.
Use hilight color for the last character regardless of gradient.
Fix hilight gradient rule.
Change line appearance.

The last character (position 1.0) has hilightColor, character in the middle (position 0.7) has usual color, the first character (position 0.0) is transparent. All other characters has colors according to gradient between corresponding points. For example, at position 0.4 gradient is between transparent and usual color, at position 0.9 - between usual color and hilightColor.
Use high update frequency again. Partially revert 63822a0de44d.
Use MSSRunningDiscreteFocusLine.
Tweak line appearance.
Tweak focus speed.
Update README mentioning Core Text usage.