This question is still important; IMHO the answer to this question isrelated to where settings that apply to rendering to a specific canvas
element's bitmap should be.
My recommendation for WebGL would be to have an explicit method that
pushes the bits to the screen, and that would also clear the buffer. So
then (c) and (d) couldn't happen.