Interface refactor

@hcatlin How's API versioning/dev versioning working here?  (Do you mind changes like this?)

- Remove duplicate code

Must be sync'd with Pull Request 'Interface refactor' in `sassc`