Rather messy way of keeping the 2d array processing.
Make things a bit cleaner, possibly.
Stop exception rethrowing eating traceback.
Colour-coded portals.
Don't teleport the player if no destination.

Also, add sprites for recoloured portals.
Add a couple of incoming-only portals.
Keep GEPlayer when teleporting within a world.

Makes pre-existing problem with redraw more obvious.
Add sanity checking for portals.
Add 'posmessage' option.

Show position of player, to make map-tweaking easier.
Message in worlds.py was backwards.
Rejig portal validation.
Put portal/startpos of roadmap in a better place.

The middle of nowhere was a bit lonely.
Use template strings rather than dodgy concatenation.
Fix messagebox minimum width.
Reduce messagebox minimum width.
Hacky fix for nonvisible overlay alignment.

Rendering needs redoing (again) sometime anyway.
Create separate function to chop images.

For more uses of spritesheets.
Separate function to load images from dir.

Continued images.py tidying.
Keep tidying images.py.
Use getimages() for randomised overlays.

Reduce hardcoded filenames!