Support for text styling

Add some fonts appearance proxies;
Refactor size calculation and layout code;

TODO:
optimize & clean-up, handle edge cases, support more properties