Fix: fire "app.init" event before firing "app.beforeStart"

"app.init" can be used by modules which need other modules to
initialize.
This way the order of their run doesn't matter: "app.init" called in the
very last file, when everything is loaded.
Rename app.* events to just *

Let's not namespace app.* core events under "app", this way it is clearer
that these events are important.
Rename "init" event to "wakeup"
Fire "prepare" event in init.js before "beforeStart"

So, we fire 4 events:
- wakeup - this is fired first. Listeners are called before even checking if
app is enabled. On/off button should render now, for example.
- prepare - this is for general initialization. Render all the html, but
do not show it.
- beforeStart (must rename to beforeShow) - fired each time app is
enabled: after "prepare" and each time on/off button enables app, for
example.
- afterStart (must rename to afterShow) - fired by app.js after animating
base html: div.page etc.

Besides this events, we should fire beforeHide and afterHide.
Add app.prepare, subscribe it to "prepare" fired in init.js

app.prepare must be called once on "prepare" event.
It will replace app.start and help in decoupling modules.
Rename "beforeShow" event to "show", subscribe app to it

Also subscribe app to "hide".
Change app state in app.show and app.hide

- remove app.isRunning and app.getIsRunning
- change app state with setAppEnabled in app.show and app.hide
- don't change it in on/off button, emit "show"/"hide" events instead
Slightly refactor on-off-button.js
Replace "wakeup" and "prepare" events with single "init"

When app is initially disabled, "prepare" doesn't happen, so everything
isn't prepared when on/of button fires "show".
To fix this "prepare" can be fired just after "wakeup", no matter if app
is enabled. But this way we have two events with single purpose:
"wakeup" and "prepare".
So replace both with single "init" event.
Move overlay animation duration (int) to app.animationDuration

Also change it from 400 to 250 ms.
Fix whitespaces
Move ads extermination to init.js
Slightly refactor app.setAppEnabled and app.getAppEnabled
Slightly refactor app.init
Fix header: listen to "app.init", insert header into $page
Fix whitespaces in header.js
Fix header.js: don't export to window.header (nothing to export)
Don't import window.story in app.js (jshint)
Split header.js into base-html.js and logo.js
Move html related code from app.js to base-html.js, rename it to page.js