* Add annotations to files under core/events
* Add annotations to files under core/interfaces
* Add annotations to files under core/keyboard_nav
* Add annotations to files under core/renderers
* Add annotations to files under core/serialization
* Add annotations to files under core/theme
* Add annotations to files under core/toolbox
* Add annotations to files under core/utils
* Add annotations to files under core
* Respect nulls from blocks.save
* Upgrade list blocks to use JSO serialization
* Upgrade logic blocks to use JSO serialization
* Upgrade math blocks to use JSO serialization
* Upgrade text blocks to use JSO serialization
* Upgrade procedure blocks to use JSO serialization
* Add more mutator tests
* Fix firing enabled events
* PR Comments
* Add parameter for recording undo.
This sets up the most common default behavior, but also makes it clear
to people that it is happening, because it might not be expected.
* Add grouping of events
* Add text width caching
* Add disabling workspace resizing
* Add performance optimizations
* Respect nulls from blocks.save
* Cleanup from rebase
* PR Comments
* Cleanup from rebase