Allow regions to be defined as a function

regions may also be defined as a function, if you want to wait to define them until runtime.

initializeRegions invocation in constructor has been moved after ItemView initialization.