cglobals are made available by a sub instead of trait

This way we can bind a proxy to a variable (jnthn++) instead of declaring a subroutine
that feels wrong for such a task. We already can read from global C variables, but
we still need the correct primitive to write to a memory location.