Include some checks to ensure only refs

In this VM isn't valid to store a object inside of the stack, register
or another object field/index.

This commit ensure that restriction. The idea is to enable a more
"realistic" GC implementation and to avoid "cheating" on GC.