Clean up CMake library specification

The X11 libraries don't need to be specified when doing dynamic linking
Build GLFW as a shared lib on Travis
armemu: Clean up naming and formatting for SSAT16
armemu: Fix SSAT16

The lower-bound would never be negative like it should
armemu: Implement USAD8 and USADA8
dyncom: Implement UMAAL
armemu: Implement SMLSD
armemu: Implement QASX and QSAX
Kernel: Implement support for current thread pseudo-handle

This boots a few (mostly Nintendo 1st party) games further.
Travis: Enable APT cache. This should give us a small boost

http://docs.travis-ci.com/user/caching/#Caching-Ubuntu-packages
Travis: Try to cache downloaded files to work around sf.net sucking
Merge pull request #314 from lioncash/qsax-qasx

armemu: Implement QASX and QSAX
Merge pull request #313 from lioncash/smlsd

armemu: Implement SMLSD
Merge pull request #311 from lioncash/usada

armemu: Implement USAD8 and USADA8
armemu: Should be using labs for USAD8/USADA8
Merge pull request #320 from lioncash/labs

armemu: Should be using labs for USAD8/USADA8
Merge pull request #310 from lioncash/ssat16

armemu: Fix SSAT16.
Merge pull request #296 from lioncash/dyn

dyncom: Implement UMAAL
Merge pull request #316 from yuriks/thread-handle

Kernel: Implement support for current thread pseudo-handle
armemu: Implement SADD8/SSUB8