SVC: Implemented svcCreateSemaphore

ToDo: Implement svcReleaseSemaphore
* Some testing against hardware needed
SVC: Implemented ReleaseSemaphore.

This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has
Semaphore: Implemented the initial_count parameter.
Semaphores: Addressed some style issues
Semaphore: Removed an unneeded function
Kernel/Semaphores: Addressed some issues.
Kernel/Semaphores: Invert the available count checking.

Same semantics, idea by @yuriks
Kernel/Semaphore: Small style change
Kernel/Semaphores: Fixed build
Restore the original console color after logging a message.

Fixes #277
Merge pull request #278 from yuriks/log-colors

Restore the original console color after logging a message.
Clean up armdefs.h
Update gitignore with OS-specific global filetypes.
Merge pull request #257 from lioncash/gitignore

Update gitignore with OS-specific global filetypes.
ARM: Pull some SkyEye fixes from 3dmoo.
Merge pull request #273 from bunnei/more-skyeye-fixes

ARM: Pull some SkyEye fixes from 3dmoo.
Merge pull request #246 from Subv/cbranch_1

SVC: Implemented Semaphores
Merge pull request #276 from lioncash/decrappify

Clean up armdefs.h a little.
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