OS X Changes

Hi,

I made some changes to allow application calls similar to the following:

```
_display_window->get_ic().get_keyboard().get_keycode(clan::InputCode::keycode_d);
```

In addition, sphair made some comments on the .gitignore in the last batch of changes.  I double checked it against some recommendations on stackoverflow and updated it accordingly.

The OS X port is getting there. :D

Oh, one last thing.  I apologize about the nasty diffs.  I usually have tabs -> spaces turned on.  I have to remember to turn that off.  The spacing still looks ok in an IDE though.  Sorry about that.