Merged experimental branch with master.

Changes are not final or done yet, but the whole thing is an experiment anyway and the "experimental" changes are the way I want the game to go in, so they might as well be "master" (everything seems to be stable).
Also includes some general changes that should have gone to master anyway.