API handlers can now return objects or promises and they'll be rendered as JSON