Extract layout text into dedicated layout_text function that can be used both by markup and plain label to flow text.
Add a get_cached_extents function to be used while font doesn't change. Cuts layouting time by more than 2.
Move layout text to cython and change label render to use it. Further cuts layout time by 2.
git ignore new text_layout c/pyd files.
Merge branch 'master' of https://github.com/kivy/kivy into markup-padding
Fix stuff - add words when splitting to justify, correct line_height when uw is None, make sure padding is tuple, fix sub-pixel justify, make cdef attr public.
Fix valign to optimally compute min layout and fix its bug, add option to layout text from top-down or down-top, add line_wrap var.
Add comprehensive test file to test label layout and performance.
Factor layout_text to simplify using inlined functions, fix space stripping with halign, add complete keyword to layout_text.
When strip is True, strip markup text before annotating, update markup to use the layout_text method, when not even single char fits on line, still display first char.
Make line_height a float instead of int.
Add shorten options shorten_from and split_str, implement shorten in label and makrup_label, fix line centering for label rendering.
Add more markup tests to the test widget.
Fix paddding_x/y typo.
Merge branch 'master' of https://github.com/kivy/kivy into markup-padding
halign center as evenly as possible. Restore old within-line alignment of plain label.
Allow performance testing of markup when that is selected.
Add justify to markup label, tighten justify in label, fix trailing/leading newlines in markup shorten.
Finish docs.
Fix max_lines markup bug, merge versionadded.