Split into two mixins

- withChildComponents (exported) and withBoundLifecycle (internal)
- Don't mix withBoundLifecycle twice

Fix #6 #7
Merge pull request #8 from flightjs/split-functionality

Split functionality into two mixins with better names