Update timer semaphore usage:
  subtract the task's computation time from the period in the max_delay argument to the guard.

Also update the API, differentiating ticks and milliseconds.
Add ivory-backend-c to the library to make testing with cabal-dev ghci easier.
Syntactic cleanups, wibbles.
Fix bug in ivory wrapper.
Move the time update to just after the guard.  Alpha renames.