Proper classes in the game state variables

Goes in parallel with #689 (closed) and targets the same goal: increase code readability and maintainability.

SugarCube 2 supports user types in the game state. Why don't we use this opportunity at least for the slaves? We have a lot of code in free functions, that can become good members of the Slave class, such as various isXXX(), canXX(), etc.

If people approve the idea, I can prepare a MR.

Edited by ezsh