FTCLP: A Failure-based Tabling Interpreter for Constraint Logic Programs (CLP) by Interpolation