Initial Commit
Initial implementation.
Implement interpolation of location values when not all are provided.

- Make public.
- Switch from Float to Double.
Clean up tests.