Added an attempt to track callback functions.

1. Added a function pointer typedef for the two types of callbacks.
2. Updated RegisterCallback to take one of each.
3. Updated the Callback wrapper to hold each pointer.
4. Wrote some thoughts and documentation about cross OS function calling
for any unfortunate enough to stump onto this code/problem (yuck).