Take extra care when accessing `props.children`

Deprecate `utils.modifyChildren` and `utils.filterChildren` in favour
of new `ValidComponentChildren` functions, these functions wrap the
`React.Children` implementation which is unsurprisingly more robust
and covers more edge cases, with an added check to make sure it only
operates on "valid components".
Merge pull request #90 from pieterv/safer-children-access

Take extra care when accessing `props.children`