Theme Customizer not displaying saved values in wp_head (CSS)

My answer might come a bit late for you, but as I had the same problem today, here’s what I found out:

1) First of all, if you set 'type' => 'option' for your custom settings, you should use the get_option() function to retrieve the values. If you set 'type' => 'theme_mod' (or don’t set a type at all as it defaults to theme_mod), you can retrieve the values using get_theme_mod()

2) Then, if you set your options in an array like my_theme_option[my_option_value], you have to do the following to output the value:

$options = get_option('my_theme_option');
echo $options['my_option_value'];

Thus, for your CSS output, do this:

   public static function header_output() {
      $options = get_option($mytheme_options);
      ?>
      <!--Customizer CSS-->
      <style type="text/css">
          body { color:<?php echo $options['body_background']; ?>; }
          .site-title { color:<?php echo $options['site_title']; ?>; }
          .site-description { color:<?php echo $options['site_description']; ?>; }
          #content a { color:<?php echo $options['link_textcolor']; ?>; }
          #content a:hover { color:<?php echo $options['link_hover_textcolor']; ?>; }
      </style>
      <!--/Customizer CSS-->
      <?php
   }

I hope this helps.