Composite pattern with strategy

- Added compositie for enemies
- Enemies can be "wave" of enemies or single enemy
- strategy added for enemy movement

@HallCat @SheepishMonster 
I'll add it in my next pull request. It should still be doing the same thing, really still calling the EnemyFactory methods, just a bit seperated. Just don't know which is better/worse