(Fix #34) Add callback for returning from push()/pop()

state:resume() will be called on the state that issued a GS.push()
after the pushed state is popped from the stack.
(Fix #33, #35) A more flexible definition of isvector(v)

Now returns true if `v' is a table and both `v.x' and `v.y' are numbers.
(Fix #37) Copy metatable in class:clone()