Revamping the `linkify` function for more flexibility

Work in progress

### BREAKING CHANGES
The static `Linkied.linkify` method will no longer return a String, but a [NodeList](https://developer.mozilla.org/en/docs/Web/API/NodeList) object. Each element in the node list will be either
1. A Text node
2. A `.linkified` HTML Element

The jQuery and DOM APIs should not be affected.

The internal changes in this PR should help with resolving #14 and #16