Generate coappearance data dynamically.

- Remove static JSON data files for coappearance graphs. Generate them dynamically instead.
- Refactor URLs for the above, e.g. "/static/data/3k-coappear-12.json" becomes "/coappear/data/chapter12.json".
- Replace hardcoded validation for chapter numbers. Dynamically check against chapters.json instead.