refactor
change Size to TextMetrics, add TextAlign, switch to TextBaseline class
include cassert
change Size to TextMetrics, add support for textAlign and refactor