Sync with rust master

Now builds and runs, probably slower than before, but playable with `-O` compile flag. 

Only testing was an enjoyable run through 1-1 to 1-3 and playing with save states.