The dijit.layout.ContentPane is meant to handle only HTML through it's .setHref(url) and .setContent(htmlBlock) methods. There is an alternative called dojox.layout.ContentPane which provides executeScripts capability, evaluating any inline tags it encounters.
note: putting dojo.require() calls in a remote block of HTML, and relying on executeScripts to lazy-load all your widget requirements may seem appealing, but is not guaranteed to work. It is recommended you you dojo.require() all the modules prior, most prefereably in the form of a build layer, which is a single file containing all the require code.