Recursive conversion with Converters. Circural reference protection and caching


Signed-off-by: Jakub Sztandera <kubuxu@gmail.com>