Update workbreakdef.h for Table 3 of Unicode Standard Annex 29, Revision 23
Merge pull request #1 from filodej/filodej/wordbreak

Update workbreakdef.h for Table 3 of Unicode Standard Annex 29, Rev. 23
Introduce LineBreakContext containing internal state of the set_linebreaks() function
Move LineBreakContext initialization to a separate function
Move special first char treatment to a function and so get rid of the goto statement
Move simple linebreak classification to a separate function
Move lookup based linebreak classification to a separate function
Reorganize the brk based switch and get rid of two continue statements
Minor changes (remove empty lines, trailing spaces)
Minor change (better consolidate the LineBreakContext updates)
Move linebreak processing logic for individual char to a separate function
Move the initial char processing to the lb_init_break_context() function
Publish the low level API for incremental linebreaking
Merge pull request #2 from filodej/filodej/low-level-api

Expose low level line breaking API for incremental line-breaking.
Amend the change log for Petr Filipsky's contribution.
Correct the file permission.
Add information about `Petr Filipsky'.
Consistently avoid literal e-mail addresses in the source code.
Make minor changes in doc comments, formatting, and names.
Make minor changes in doc comments, formatting, and names.