Fix rendering bugs when using SDL2's scale factor

* UIContext: Rename ::resize to ::set_size.
* UIContext: Take into account the resolution scale factor in use
(SDL2) when setting context size; this resolves the need of manually
setting the visual debugger's beacon (err icon) and element info
window.
* UIContext: Do not set new dimensions for the context upon a window
resize; this is done for us automatically by SDL2 and messes up
absolute coordinate positioning when we do so (aspect ratio).
UIContext: Introduce ::set_debugger_size

This lets us resize the Element Info window dimensions, which is
necessary for small resolutions (i.e.: TTcards).
CMakeLists: Build with libRocket dylibs

* Enable building of audio, scale2x build units.
Fix state machine bug resulting in crash

The crash happens when the next (deferred) state is NULL, leaving
us unable to to resume state (applicable to states that are pushed
on and back off the states stack).

* SDL2Logger.hpp: Add NOM_LOG_CATEGORY_STATES logging category
(disabled by default).
Remove Point2, Size2 single argument ctors

This turned out to be a terrible idea in practice, leading to a
confusing debugging scenario in TTcards where an IntRect was
implicitly using these ctors, messing up the rendering of card
elements:

nom::IntRect element_pos(
                          // Was using Point2i(T factor)
                          board_pos.x + ELEMENT_WIDTH,
                          // Was using Size2i(T factor)
                          board_pos.y + ELEMENT_HEIGHT);
SpriteSheet: Fix mis-matched sorting issue

This is a major redesign of the class, aimed at solving the sorting
mismatch issue that we've had problems with in the past by using a
std::map instead of std::vector. When looking up sprite frame
indexes, we expect the returned value to match the frame ID,
whereas the previous implementation was actually giving us the
element's position in the std::vector instead, which is not always
going to be equal.
  The file format spec has been altered dramatically, and invalidates
all previous versions. No backwards compatibility is provided; all
examples/tests have been updated to use the new file format spec.

* This implementation does away with the serialization feature of
nom::SpriteSheet entirely, and instead relies on the wonderful
TexturePacker software to provide this facility. Ultimately simplifying
our design and saves me time.