Topo plots for EEG data, even when no digitization points are present

Many EEG-only labs (including mine) don't bother with source localization and so don't mark EEG electrode locations. When plotting, relying on the approximate electrode positions reported by the cap manufacturer is good enough. In practice, this means ch['eeg_loc'] and ch['loc'] are specified, but no digitization points are present in the data. This breaks `make_eeg_layout`, which is currently very picky about which digitization points should be present. This PR makes the function a lot less picky:

 - Add flag to select which digitization points to use in
   `fit_sphere_to_headshape`. This defaults to only `FIFF.FIFFV_POINT_CARDINAL`, which was the default
   before I started messing with it in #1541. When calling the function from `make_eeg_layout`, more points
   are considered. I've noticed that Neuromag data adds `FIFF.FIFFV_POINT_EEG`, while the EDF loader adds
   `FIFF.FIFFV_POINT_EXTRA`, so it looks at both in addition to `FIFF.FIFFV_POINT_CARDINAL` landmarks.
 - Make `make_eeg_layout` still work even if no digitization points are present. Generate a warning though.
with @dengemann we agree that it would be cleaner to change the instance
to be able to plot topomaps out of the box rather having to pass
origin_head to plot functions. API change that adds origin_head param to
every plot function seems wrong to me.

we're on google hangout if you can talk