level scores are now stored in localStorage
separate level logic from main
separate factory logic from main
cast to any, to avoid compiler warning

we try to access the static property of the class, but typescript
doesn't like that
levels need to be unlocked before they're playable