Fix leaking fiber in Sync.prototype.Future, refactor Future into own class