Move "navigation" module out of model.js
Move panel.js out of model.js
Remove random "snap" scope inside of model

No coherent reason why some of the model fields were
inside of a "snap" object.
rename snap.js to init.js

It's still a bit unclear why some init is in model.js
and some of it is in init.js though.
Improve a comment in model.js