Added config-property $smileys.
Changed signature of interface for type hinting.
Added dependency injection as an example of easy configuration.
The config object only accepts a certain format for the smileys-array.

Exceptions are thrown when there are errors in the config array. This prevents parsing errors early on.
Support for smileys/emoticons

Uses a PreParser to turn a smileycode into SML, and a handler to turn that into HTML.
Trim whitespace from attributes.
Make sure a preparsed value is returned to its original value when inside a nosml-tag.

Also goes for code-tags or other tags that do not allow nested SML.
Improved code coverage.
Added two more variations.