Added Level.py, which holds all logic for levels

Can create levels with perimeter criteria, area criteria, or both, for
(conceivably) any grid size