better caching if iksolvers and checking if new iksolver is same as last one