Recursive JavaScript Object Serializer