Add missing dependency on ffi gem.
Implement support for taxpoint changes and support multiple cantons.

As the current TariffItem/ServiceRecord/Treatment/Session architecture
is less than optimal, this support has been implemented hackish. It
breaks a couple of separation of concerns, but works for now.