Should not use REPR() on an STable.

The code was buggily assuming that every collectable was an Object when
checking to see if Objects referenced frames. Not all collectables are
Objects, but by chance of how Objects and STables are laid out in memory,
REPR() on an STable would give a pointer to a sufficienty valid Object
that the code didn't fail. However, a side effect of this was the code
ends up thinking that every STable is an Object that references frames,
and hence need to be tracked in gen2roots[]. This slows things down, and
concealed several bugs, fixed in previous commits.