hikaru, hikaru/gpu: allow 32-bit access to 00400000.

Silences unhandled access warnings in AIRTRIX. (The value read from 00400000 is
always discarded, so there will likely be zero emulation regressions from this
change.)

Broken in ea8ebf904dc2da8805e3a7a342ba3f194df657f5.
vk/core: add VK_STATIC_ASSERT macro.
hikaru/gpu: clean up new().
hikaru/gpu: move bus_addr and size out of texhead_t.

The size of texhead_t defines the size of the texture cache in the renderer,
so it makes sense to keep it small and tidy.

Move out a couple of fields only used locally by the IDMA code.
hikaru/{gpu, renderer}, vk/surface: implement tex wrapping and repeat.

It seems to work okay in AIRTRIX and BRAVEFF.

Also update/tidy up the annotations.
hikaru/gpu: move STATIC_ASSERT inside a new().
hikaru/{gpu,renderer}: invalidate texcache on IDMA.
hikaru/renderer: make texcache smaller and fix clear().
hikaru/gpu: rename macro.