Major fixes. The VGA driver is now more usable.

*IMPORTANT/NOTE: Modified the bootloader.asm to read 10 sectors instead of 1 (the CPU
started doing random jumps as it got some junk in memory as the kernel
binary grew. Need to watch out for this in the future.

VGA:
*The VGA text mode driver now can properly change the cursors position and
obtain its current row and column.
*Added proper documentation to the functions in the VGA driver.
*Still needs string printing and screen clearing to be production usable.
*Moved the registry port addresses and the video memory address defines
to the source file. This information shouldn't be needed by a driver user
as it is tied to the internal mechanism of how it works.

Kernel:
*The kernel now tests the new VGA driver by printing an 'X' and changing
the cursors position
*Needs everything (MM, CPU scheduler, descriptor table, interrupts, filesystem, etc.).
It's unusable for anything beyond simple driver tests.

Minor:
*Rewritten the Makefile to a much more cleaner/readable state
and better automation of the build process.
*Renamed 'boot.asm' to 'bootloader.asm' (object/bin also)
*Added rule to .gitingore to ignore '.swp' files.
*Added a 'driver' for port I/O (honestly it's more like an wrapper
around the Assembly in/out commands). Needs some documentation.