Fiction API separation

Pulls the Fiction API out as a new Scala module.