Change graphics subsystem to 4x4 matrices

4x4 matrices aren't as optimal, but are much more sensible to handle
when you want to do more advanced stuff like scaling, skewing, or
inversion.
Merge pull request #113 from jp9000/matrix-update

Change graphics subsystem to 4x4 matrices
Fix bug with creating immediate vertex buffers

Check to make sure graphics subsystem pointer isn't null before
derefrencing, and fix bugs when creating vertex buffers from
immediate-style helpers
d3d11: Fix bug creating static vertex buffers

The vertex data wasn't getting properly freed, it was actually setting
the parameter itself to null for some reason.
Allow signal callback deletion while signalling

I encountered a situation where I wanted to delete a callback for a
signal while inside of that signal.  However it would hard lock, and
even after that, it would mess up the loop for the callback list.

So, change the mutex of the individual signals to a recursive-style
mutex, and then if a callback of a signal is deleted while currently in
that signal, just mark it for deletion, which will happen after the
signal is complete.
Fix null pointer dereference in text lookup

Fix potential null pointer dereference for when splitting a node.
win-capture: Fix bug calculating cursor position

Cursor position calculation was not taking in to account the window
client coordinates relative to the screen.
libobs:  Add 'solid' effect for basic primitives
libobs:  Add helper functions for math data
Add solid_effect variable to obs_core_video
Make a minor OCD tweak to align parameters
Merge remote-tracking branch 'remotes/upstream/master'