start adding a framework for document creation that will be used by the application

The architecture follows exactly Kate's architecture.