Finalized level generation

Background objects and enemies are now generated for each level. The
enemies are generated according to a difficulty value sum, where easier
enemies have a smaller difficulty value (e.g. 1) and harder ones have a
larger difficulty value (e.g. 4). When the sum of the difficulties of
each enemy passes a set value, enemy generation stops. This means that
each level should have a similar difficulty level - e.g. if it has a
larger number of difficult enemies, it will have a smaller number of
easy enemies to compensate.