Fixes #3535: Syntax changes

- Removed `form_begin`, `form_end`
- Added `use()` and `ViewRenderer::uses` that are importing classes and namespaces
- Added widget dynamic functions `*_begin`, `*_end`, `*_widget`, `widget_end`
- Added more tests
Changed descriptive extension name to ID