Removed windows line endings (^M).

These line endings cause git diff noise when they get removed, which
can happen by mistake when saving from an editor like Sublime.
This patch gets rid of them explicitly.
Implementation of 'contextual' tags which are not clipped.

In some situations, clipping content by word or character is
not desirable and rounding to the nearest element is nicer.
For example when downsizing a blog post it could be good to
round to the current <p> element's end.

This commit exposes an API to allow for this, adding a
'contextualTags' key that take an array of element names.

Passing the following is good for content that was converted
from markdown:
    contextualTags: ["p", "ul", "ol", "pre", "blockquote"]