Engine + Editor: Added an optional "direction" parameter to Character.ChangeRoom

- Character.ChangeRoom(int room, int x, int y, CharacterDirection direction)
- CharacterDirection is an enum (eDirectionDown, eDirectionLeft...) that actually
represents a loop number
Editor + Engine: IsInteractionAvailable() for Object/Hotspot/Character

Based on Alan v. Drake's suggestion