Added basic text columnizing support with nested DOM structures

This adds first basic support that columnizes text.
It is already capable of splitting text nodes if they don't fit in a
column and it can handle nested DOM structures.

If text is inside a nested DOM structure, the script will keep track of
that structure and clone the structure if a new column starts. This
means that if

    <div someattr="someval">First sentence. Second sentence.</div>

need to be split it will become

    <div someattr="someval">First sentence.</div>
    --- START OF NEW COLUMN ---
        <div someattr="someval">Second sentence.</div>

This works in an unlimited, nested fashion.
The script cannot handle non-text nodes right now, image support is
coming soon.