Reduce size/complexity by 100 lines

I've reduce complexity of event detection with removing any existing features.
- Removes global variables such as isValid and queuedTag
- pushTag() function now just has one parameter, i.e. "the tag to push"
- Typeahead detection refactored into methods
- Add some utility methods to reduce duplicate code
- Removed onBlur event entirely. It is not needed and is redundant with onChange/onKeyPress
- Fixes a bug in Chrome when Typeahead is active, "Enter" key did a double push of the typed value and the typeahead value.

I have not touched the public facing API, with the exception of correcting the spelling of delimeter->delimiter (old spelling will still work)

This should make the code much more streamlined/maintainable.

I have tested this change on recent versions of Firefox, Chrome, Safari, MSIE 9 with Bootstrap 2.3.1 and Jquery 1.9.0. I tried to preserve as many of the legacy hacks as made sense, but found I could safely remove the "onBlur" method.

The main commit is 9f17989. However, I've bundled it with the commits from my other pull requests: #85 #84 #83 #63. The reason I have included the other changes is that I've had them when I tested this change, so I feel it's safer.