Add option for custom serializer to `Model#serialize`

I want to switch serializer on special context.

For example, 
* admin user can create `Post` with original `Category`.
This case `Post` will be serialized embedded `Category` **records**.
* user can only create `Post` choice `Category`.
This case `Post` will be serialized embedded `Category` **ids**.