really empty content div
Sanity check contexts in async callbacks

This commit defends against callbacks executing when the context (the
data describing the "state" of the app: province, dapil, partai, etc.)
they were called with differs from the app's current context.
App.checkContext() throws an exception in the case that the objects
differ, which short-circuits the async callback that would trigger
rendering of old content.
move candidate functions out of App.listCandidates()
potential fix for #31

This commit skips the re-rendering of the candidate list if there
already is one in the content div, which should avoid content
reflow-related scrolling issues.