qualify RUBY_ENGINE_OPAL constant
resolves #896 rescue failure to resolve ::Dir.home
resolves #804 rewrite extensions to support extension instances

- class names, class instances and blocks are supported for every kind of extension
- also add -r flag to cli for loading custom libraries
- add convenience methods on extesion processor for creating various nodes
- ...
support lamba as process method
named group registration, document register, move all DSL methods to DSL classes
allow extension group or extensions registry to be passed to document

- includes other cleanups within Document
rename name dsl method to named; add helper method to parse content
refactor extension in Rakefile to work with new extension API
document extension APIs, use methods to retrieve all extensions
add TODO
add default content model map to simplify Block creation
replace more calls to .nil? with truth checks
remove duplicate lookup of source in constructor
optimize caption assignment
catch path resolver
minor optimization
change order of truths in while loop
minor optimization
small optimization
allow subs to be overridden in block constructor