Fix saving while reading

fixes #5191

The savegame seems to come from an older version before the new item-position system. The player activity in it has a "invlet" member but no "position" member.

On loading the position of the player activity is set to -1, which does not refer to a book in the inventory. `player::calc_focus_equilibrium` assumes that the activity-position always points to a book and casts the type of the item to `it_book`. In this case it does not work and as a result of the cast, the pointer is set to 0 which leads to a segfault.
The PR adds a check for this, and stops reading in this case.

Also remove a unneeded cast as both `activity::position` and `tmppos` are ints.