Allow empty lines when hard line breaking.
Properly use ICU locale identifiers.
Allow breaking at character bounds.
Move non-public modules into Internal namespace.
Use ICU to find line break boundaries.