Compose CRUDElement from ListElement, FormElement and DeleteElement

Main purpose of this PR is to rewrite CRUDElement and AbstractCRUD, so that they will be properly handled by the new admin controllers and contexts preserving maximum possible compatibility with 1.0 branch. Some BC breaks are unavoidable and they will be described in ``UPGRADE-1.1.md`` document soon.
This PR also breaks compatibility with PHP 5.3 which is already dead anyway, so it's not a big loss.
why this extends `ElementInterface`?