Merge 1.4 branch into master

This minor release includes 3 new components, a new `destroy()` method, a cleanup of element and event options, expanded documentation, and a handful of optimization improvements.