inject symbol contents as xml instead of html

The symbol code is currently treated as html, which breaks some symbols, especially with gradients.
Test case:

    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.4 13">
      <linearGradient id="a" gradientUnits="userSpaceOnUse" x1="2.4" y1=".6" x2="10.2" y2="12.6">
        <stop offset="0" stop-color="#292929"/>
        <stop offset=".3" stop-color="#B0B0B0"/>
        <stop offset="1" stop-color="#292929"/>
      </linearGradient>
      <ellipse fill="url(#a)" cx="6.2" cy="6.5" rx="6.2" ry="6.5"/>
      <ellipse fill="#58595B" cx="6.2" cy="6.5" rx="4.6" ry="4.8"/>
      <ellipse fill="#404041" cx="6.2" cy="6.5" rx="1.9" ry="1.9"/>
    </svg>