Improve Invader with image, generic move and more

- The Invader is now more self contained:
  * it is assigning its random column itself
  * it is also hiding itself
- There is an invader image :)
- Improved size and step defaults.
- Instead of `moveDown()` there is a `move()` method now.
  It could go in any direction in the future.
  Right now the `dx` and `dy` properties which are defining the direction
  cannot be set from an outside context.
Improve SpacePanel

- It is DoubleBuffered now which helps with the rendering.
- No more layouts!
- It does not do so much with the invaders since they are more self-contained.
- Sensitive defaults for smart adding of new invaders with a pinch of random.
  The point is that the invaders have a consistent and nice style of when and how much
  they will enter the screen. However it should not be too repetitive.
- Black background.
Improve Space

- There is no need to add invaders on start. The SpacePanel would do that.
- Black background.
- There is no need to start the timer any more. The SpacePanel would take care of that.
- No more layouts.
Use Shared interface for game-wide constants

- Important constants are in one place now.
- Use the Dimension class more.
- The Invader could generate its own random column.
Merge pull request #11 from zonama-sekot/invaders-falling

Invaders falling