interpolation: rework code structure and API
Since multiple interpolators framework was introduced, inlining was not possible anymore. So no reason to keep everything in a header. - Keep only types (struct and enum), plus two functions as public API in header - Move the code to a proper file - Modified "public" API a bit preferring passing interpolation entry directly instead of its id.
Showing with 305 additions and 227 deletions