add automatic view shift while driving

This is a proposal. The implementation works, but might need some tweaking. The main problem is that `g->u.view_offset_x` is used all over the place and a driving based offset would need to be added at all theses places, too. This adds way to much code.

Instead the calculated driving offset is added to the view offset of the player and additionally stored in a separate location. That way when the calculated driver offset changes the previously applied offset can be reverted and the new offset gets applied instead. The player can still move the view offset around as usual.

It certainly isn't the best solution, but it works and does disturb much code. I don't know if this what people request, but I can always change it.