Separated all the hiliting-related code into a new library: dom-text-hiliter
Dom-text-mapper library:

- New feature: getDefaultPath() returns the default path for selection
- New feature: the selectNode() and selectPath() functions instruct
    the browser to select a given sub-tree of a dom, and optionally
    to scroll to it.
- API change: the getAllPaths() function now returns a map,
    instead of a list, and also gives more data. (References the
    actual DOM node, and gives content, too)
- Internal change: the getAllPaths() function now caches the result
    to @allPaths
- API change: the mappings variable
    - is a map now, instead of a list
    - references data from @allPaths, instead of copying it
- New feature: the getMappingsForPath() function returns the mappings
    for a given DOM element.
- API change: the getMappingsFor() function
     - has been renamed to getMappingsForRange()
     - returns the match range information in a slightly different
       (and more verbose) format

- Improved error handling (reloated to iframe problems,
    missing/invalid input parameters, etc)

- Internal change: removed last traces of innerText support
- Internal change in preprocessing:
    acceleration #1: never do any XPath-based lookups, use cached data
       from getAllPaths() instead
    acceleration #2: skip some useless internal state changes in phase
    acceleration #3: reuse more data from phase1 in phase2

- Small bugfixes for weird corner cases
dom-text-matcher library:

 - Adapted to the API changes of the dom-text-mapper library
 - New feature: getDefaultPath() returns the default path for search
Demo app:
 - Adapted to the API changes in dom-text-mapper, dom-text-matcher and dom-text-hiliter libraries
 - Random small code improvements
 - Added timing of both phases of the preprocessing stage
 - Restored the original default content source (sample2)