Make compass optional.

This patch makes true work without compass, but if compass is found, it will properly register itself.