removes unnecessary demo code
factors model out into separate files

nicer than one big gross file

still imports as `models` i.e. `from model import Kursawe` (see `models/__init__.py`)
__new__ tricks in the notebook