fix #1373 Use "section" statement as a container

This commit re-introduces the possibility to use the `section` statement as a container ({section {...}}...{/section}).
Since the `macro` property is not mandatory, it is also possible to provide a string argument to the statement ({section "mySectionId"}...{/section}).

This feature is disabled by default. In order to enable it, you need to set an application environment variable:
```
aria.core.AppEnvironment.setEnvironment({
    templateSettings : {
        allowSectionsAsContainers : true
    }
});
```
fix #1374 Dom.calculatePosition|getOffset webkit discrepancy

Due to discrepancy how browsers report page scroll (setting `scrollTop`
either on `document.body` or `document.documentElement`),
`aria.utils.Dom.getOffset()` returned wrong values in webkit browsers
for absolutely positioned elements when the viewport was scrolled.

[see https://code.google.com/p/chromium/issues/detail?id=284141]

The exact point of failure was querying explicitly
`calculatePosition(document.body)` which happens when `getOffset(element)`
traverses element's offsetParents up to BODY.

Close #1375