SVC: Implemented Semaphores

This probably still needs a little more testing, but at least the behavior is consistent with hardware in the tests i've performed (See here: https://github.com/Subv/3ds-homebrew/blob/master/semaphore/source/main.cpp )
Assuming the CTR api really works with inverted values like this, (And I'm kinda unconvinced it does, but fine.) then it should be renamed to something like `free_count`.