Extend JSON serialiser to use serialize() method

If an object is a UUID, return a string representation of it.

If the object still can't be serialised, call its serialize() method.
This is useful when nesting Link models inside dashboards, for
example.
WIP: serialize a dashboard