re-implemented global paragraph style cache
Fixed incorrect sign on tailIndent.
Negative values are used for measuring from trailing edge, as e.g. CSS margin.
Added support for uncompressing margin and padding shorthands
implemented fast cache key for paragraph styles
using C-level MD5
add paragraph style caching unit test
improved paragraph style cacheKey

on iOS it's now using the NSData built-in hash, on Mac it uses CC_MD5 to reduce 96 bytes to a few.
improve speed of applyStyles

- since shorthands now get decompressed earlier this does not need to sort any more
- Creating the predicate was also very slow, so we rather walk through all styles and do a direct prefix comparison
- avoid parsing margins/padding if no style contains "margin" or "padding"
Fixed tailIndent bug

tailIndent (right margin) is negative when it is from the right side, positive values are from the left.