small optimization and seed test

particles are now not rendered if they are off screen
map now takes a seed parameter that generates the same level if the seed
is the same
map is now constructed in the level constructor and generated in load
level
r generates a new level
t reloads the same seed
map now stores its current seed
gen circle is now private and gen level is public
removed particles remaining debug message and added a message when the
pool of particles is empty