renderer: support native plane flipping
This is a much cleaner way of handling flipped rendering on e.g. OpenGL, requiring less intervention from the user side.
In addition, this can also be used to support planes with negative
stride. I may even revisit the type of pl_plane_data.row_stride
to
support ptrdiff_t, but for now, I want to avoid breaking the API more.
(And the buffer path requires special handling from the user anyway)
It's worth pointing out that this implementation has a tiny suboptimality: since plane flipping is only done as part of plane scaling, this means it can't be merged with the debanding shader. Fixing that would require a slight rewrite of the code involved, but I don't really care to do it at the moment.
Lastly, also fix the libav/dav1d helpers to respect negative strides.
Closes #183 (closed)