RECODE: Reasoning Through Code Generation for Visual Question Answering