armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAX
dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX.
Merge pull request #350 from lioncash/qops

Implement the rest of the UQ* ops.
armemu: Fix underflows in USAD8/USADA8

Initially reported by xdec.
Rename ObjectPool to HandleTable
Kernel: Replace GetStaticHandleType by HANDLE_TYPE constants
Kernel: New handle manager

This handle manager more closely mirrors the behaviour of the CTR-OS
one. In addition object ref-counts and support for DuplicateHandle have
been added.

Note that support for DuplicateHandle is still experimental, since parts
of the kernel still use Handles internally, which will likely cause
troubles if two different handles to the same object are used to e.g.
wait on a synchronization primitive.
Merge pull request #354 from lioncash/usaduflow

armemu: Fix underflows in USAD8/USADA8
dyncom: Implement USAD8/USADA8
Merge pull request #356 from lioncash/dynusad

dyncom: Implement USAD8/USADA8
armemu: Fix PKHTB to do an arithmetic shift and correctly decode immediate field.
dyncom: Implement PKHBT and PKHTB.
Merge pull request #357 from bunnei/dyncom-pkhbt-pkhtb

Implement PKHBT and PKHTB on dyncom, fix on armemu
vfp: Actually make the code somewhat readable
Merge pull request #331 from yuriks/handle-reform

New Handle manager
Merge pull request #359 from lioncash/vfp

vfp: Actually make the code somewhat readable
Vertex Shader: Zero OutputVertex to avoid denormals

Unused OutputVertex attributes were being left un-initialized. The
leftover garbage sometimes decoded as floating-point denormalized
values, causing fallbacks to microcode and massive slowdowns in the rest
of the rasterization pipeline even though the results were unused. By
zeroing the structure we ensure these attributes only contain harmless
zeros.
Clipper: Avoid dynamic allocations

The triangle clipper was allocating its temporary input, output and work
buffers using a std::vector. Since this is a hot path, it's desirable to
use stack allocation instead.
Clipper: Compact buffers on each clipping pass

Use a new buffer management scheme in the clipper that allows using a
bounded minimal amount of buffer space. Even though it copies more data
it is still slightly faster likely due to using less cache.
Rasterizer: Common sub-expression elimination

Move the computation of some values out of loops so that they're not
constantly recalculated even when they don't change.