Implements Accordion Collapsible

Splits react components into separate files. Reorganizes code a bit.
Update example page.

I tried doing it like other examples I've seen, including react-bootstrap,
but the close transition was immediate, probably because of the way the
CollapsibleGroup was maintaining the state instead of the Collapsible,
causing the CollapsibleGroup to rerender the children because it's state
changed.

Instead, I leave state in the Collapsible and solve the problem of allowing
the parent to affect child state by saving references of the children with
the parent so the parent has full access to the state-manipulating methods
of the child.

With great power comes great responsibility. We have to be careful with
this technique not to abuse it and pry too much into the child objects.
If this becomes a problem, we can have the child return only the methods
needed, but how would the child know what the parent wants?