Store opaqueness directly on the shape

This reduces the opaque check from
  movl    0x04(%rbx),%edx
  andl    %r12d,%edx
  cmpl    $0x00ff0000,%edx
to
  testb $0x01,0x04(%rbx)

The new version is two instructions less and uses two fewer registers.
The reduction in register pressure can help elsewhere in the function
because it is big because of inlining.