ENH: remove mutables from func params + use handle

This addresses our discussion on #534.
Currently, we pass quite some dicts in viz funcitons, which is handy.
However the dict defaults parameters have at least two disadvantages.
First, updating is made difficult.
Instead of saying `raw.plot(color=dict(mag='r'))` you have to say:
`raw.plot(color=dict(mag='r', grad='b', eeg='k', eog='k', ecg='r',
    emg='k', ref_meg='steelblue', misc='k', stim='k',
    resp='k', chpi='k'))` -- in other words, you have to pass the
entire expected dict with just one parameter changed,
which is cumbersome.
Second, some folks consider mutable defaults `bad design` / dangerous /
not clean / whatever.

This proposal addresses both issues by creating a dict of default
dicts in the mne.viz name space + a tiny function that can be used
to 'resolve' the related dict params that now default to None.
ENH: addresses recent discussion

- remove superfluous doc (completeness of dict)
- add defaults for misc to make ICA plotting more fun.
- adopt @agramfort's proposed, more explicit variant.
COSMITS
ENH: ... what's new.
Merge pull request #539 from dengemann/kill_mutable_defaults

ENH: remove mutables from func params + use handle