Ability to replace and set data on current object/root element through the visitor.

Sometimes there is a need to modify data during `serializer.post_serialize`, right before returning the data in the final format, i.e., passing values through a filter to humanize normalized values, etc.

Currently it only allows adding extra values, not replacing existing ones. This PR adds that ability.

Its a very simple patch and I can't imagine this breaking anything. but if this introduce any potential problems that I'm not aware of, please let me know.