FSM fixing instance properties during init

This change means to allow FSM instances to also allow prototype properties, not just methods. The same behavior that extends the state objects remains intact, and all tests continue to pass.