st/nine: Rewrite LOOP implementation, and a0 aL handling

Previous implementation didn't work well with nested loops.

Instead of using several address registers, put a0 and aL
int normal registers, and copy them to one address register when
we need to use them.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
st/nine: add missing c++ declaration for IDirect3DVolumeTexture9

Signed-off-by: Xavier Bouchoux <xavierb@gmail.com>
st/nine: additional defines and formats declarations to d3dtypes.h

Signed-off-by: Xavier Bouchoux <xavierb@gmail.com>
st/nine: avoid wrong warning message.

Signed-off-by: Xavier Bouchoux <xavierb@gmail.com>
st/nine: ATI1 and ATI2 support: PIPE_FORMAT_RGTC1_UNORM is PIPE_FORMAT_A8_UNORM compressed, same defaults apply.

Signed-off-by: Xavier Bouchoux <xavierb@gmail.com>
st/nine: ATI1 and ATI2 support: add missing nine_pipe to d3d9 mapping.

Signed-off-by: Xavier Bouchoux <xavierb@gmail.com>