add text extension to dahubridge
refactor the Screencast controller

The screencast controller is now THE controler for manipulating
screencast model and project. Changes from this refactor includes:

- add load, create, save, close methods to the controller
- cleanup dahuapp and upgrade to use the controller
- add generate methods (use the Compiler)
- performance improvements
- bug fixes