alternative implementation to #3001

solves #2998 as per #3001, but the ol.Map object is only initialized when setMap makes the base map for this control known. 

Options also have to be defined individually.  It's currently missing for the new projection option.  Scroll down and you'll see what I mean.