Use a simpler and reproducible algorithm for sorting classes in dependency order.
Make gui.EventManager 100% typed.
Make gui.SelectionView, ops.EditInfo, and ops.OpInsertText 100% typed.
Make ops.OpRemoveText 100% typed.
Make ops.OpSplitParagraph 100% typed.
Make the operations OpAddAnnotation, OpAddCursor, OpAddMember, OpAddStyle,  OpApplyDirectStyling, OpApplyHyperlink and OpInsertImage 100% typed.
Make some operation classes 100% typed.
Make OperationFactory 100% typed.
Make OperationRouter and TrivialOperationRouter 100% typed.
Make a large number of controllers 100% typed.
Make DirectFormattingController and SessionController 100% typed.
Make CaretManager and SessionView 100% typed.
Make OperationTransformer and OperationTransformMatrix 100% typed.
Now all classes that are in use are 100% typed.
Make the webodf.js build 100% typed.
The build target needed for slowly moving towards 100% typed has been removed. Only the test files are not required to be typed now.
Fix the return type and remove unneeded casts.
Add a number of more precise types and remove unneeded casts.
Fix nullablility in a number of places.
And add a few unrelated clarifying comments.
Merge pull request #376 from vandenoever/typed

Make all webodf.js 100% typed.
Split the word boundary filter out of SelectionController

Primary intent is to reduce the size of the selection controller class,
in preparation for some additional fixes to aid word boundary detection
in non-english languages.
Rewrite move & select via word boundaries to use a step iterator