Actually, in webgl case, the buffer will release when the context lost.
I move the helper class again to be consistent with canvas 2d.