change _elements property to protected

currently private $_elements prevents ArrayCollection from being extended. Any good reason why it can't be protected instead?

Background: I'm wanting to use a different Visitor, probably using the Symfony PropertyAccess component, so that sorting and filtering can operate on arbitrarily-deeply nested arrays or objects.