broke apart count() from isAtLimit() check
moved options type state into the options object
added tests for tagless input
more state clarity
single setup for trackedState, comment changes
fix for trailing tags in zero word case
Fixed trailing tags issue in characters mode.

* removed characters + 1 hack
* switched order of limit check and character addition
* introduced one bit of weirdness requiring spaces after final word to be trimmed - but this should be solvable and i judge it worth it for the fixes of above edge cases in functionality and behaviour!