Simplify Form element by using NodeElement directly (not though WebElement)

Closes #51
Add initial version of ElementCollection
Changing `RadioGroup` to extend `ElementCollection`
Inconsistent element type checking for `ElementCollection`
Relaxing rules about TypifiedElement

1. type hint by ITypifiedElement interface
2. let ElementContainer implement ITypifiedElement interface
Allow empty collections. Create test case for collections.
Making `setName` test pass for TypifiedElementProxy
Reducing duplication in collection element class checking.

Fixing tests.
Introduce "ElementCollection::filter" to decide which elements to accept

1. Restrict element collection elements to TypifiedElement (was ITypifiedElement) to prevent sub-collections
Let TypifiedElementProxy handle collections differently
ElementContainer improvements

1. introducing INodeElementAware interface for detection of "fromNodeElement" method
2. moving out HtmlElements\Element\ElementCollection to the PageObject\Element\AbstractElementCollection
3. creating element collection sub-classes:
- WebElementCollection
- NodeElementCollection
- TypifiedElementCollection
4. making AbstractProxy extend AbstractElementCollection