Refactor app.jsx to be One True (Owner) Component

Beware: somehow old routes seem not to be garbage collected. For
example: using Prev/Next seems to add memory usage, which most likely
indicates that the old chapter is not discarded. Gotta look into this.
add "key" for pageUrls, fix class=>className
make scrollbar always visible

When a <Chapter> is fetching pages, its vertical length typically does
not exceed the viewport's height (because only a "loading" icon is
displayed). When it's finished fetching and displaying pages, it will
exceed the viewport's height, which causes a vertical scrollbar to
appear. This changes the viewport's width, which causes the page's
components to move a little to adjust to that change. This might make
the whole page seem to be flickering. Making the scrollbar always appear makes
sure there's no movement whatsoever.
rm eventEmitter, use PytakuApp for global state
don't require loggin in for <Search> anymore
don't force redirecting to home in logout()

- It's already handled in RequireLoginMixin already. Also, routes that
  don't require logging in should not be affected by logout()
check if local credentials are still valid on first load
fix logout bug: don't remove credentials BEFORE sending logout request
reorganize jsx components
use bootstrap.css instead of bootstrap.min.css for production
Allow pageTitle to be a function
refactor <TitleInfo> out to separate file