Fix alpha blending for `opacity`.
Alpha from a render target was not being correctly transferred to the destination. To do this properly it seems that we need `glBlendFuncSeparate`. Additionally, this commit prepares for composite batching by eliminating `f32` values from `LowLevelFilterOp` so as to ensure hashability.