first stab at generic document

this will become the base for advanced parsing and modification of lilypond
source texts in the ly module.

Document will be inherited from later to support operations on QTextDocument
instances.

This is done so that all advanced manipulation can go to the ly module, and
can become available to commandline tools using the same module, without
that the ly module depends on Qt or Frescobaldi.
Merge branch 'master' of github.com:wbsoft/frescobaldi