armemu: Fix UXTB16

Rotation bits are 10 and 11, not 9 and 10.
Remove SyncRequest from K::Object and create a new K::Session type

This is a first step at fixing the conceptual insanity that is our
handling of service and IPC calls. For now, interfaces still directly
derived from Session because we don't have the infrastructure to do it
properly. (That is, Processes and scheduling them.)
Merge pull request #279 from yuriks/session

Remove SyncRequest from K::Object and create a new K::Session type
Merge pull request #281 from lioncash/uxtb16

armemu: Fix UXTB16
BitField: Add an explicit Assign method.

This is useful when doing crazy stuff like inheriting from BitField.
Pica: Initial support for multitexturing.
citra-qt: Fix invalid memory read upon program startup.

This was caused by the framebuffer display widget not checking whether we are actually in a valid emulation state or not.
Pica/DebugUtils: Add support for RGBA8, RGBA5551, RGBA4 and A8 texture formats.
Pica: Implement texture wrapping.
Pica: Merge texture lookup logic for DebugUtils and Rasterizer.

This effectively adds support for a lot texture formats in the rasterizer.
Pica: Further improve Tev emulation.
Pica: Unify ugly address translation hacks.
Add support for a ridiculous number of texture formats.
Pica/CommandProcessor: Fix vertex decoding if multiple memory areas are accessed for different attributes.
Pica/CommandProcessor: Add a safety check for invalid (?) GPU configurations.
Pica/PrimitiveAssembly: Implement triangle strips.
Pica/DebugUtils: Add an event triggered after loading a vertex.
Pica/DebugUtils: Factor out BreakPointObserverDock into its own file.
Add nihstro (a 3DS shader tools suite) as a submodule.
Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in favor of nihstro's ones.