Refactor line breaking.
Allow breaking at character bounds.
Implement trimming spaces at end of lines.
Move non-public modules into Internal namespace.