[view] split view.html into view.app, view.elements

Tracker ID: 32812875

view/ now has templates, modules [as before], app, and elements
[js, view, dom] Added fonts, colors, spacing to CSS, and stylized MainHeader.

    Added fonts and colors to CSS.
    Stylized MainHeader; moved CreateButton to it; added MenuButton.
    Added background images; fixed create game dialog display.
    Changed some 'Sqoreboard' to 'Scoreboard'.
[view.elements] add RadioInput, Label, LabeledRadioInput, RadioInputGroup
[view.elements] move LabeledRadioInput, RadioInputGroup from base to components
[view.elements] fix bug caused by adding LABEL to HTML_TYPE instead of HTML_TAG
[view] Created a generic Button & Anchor; rebuilt components and css around them.
[view.elements] remove unused accessor methods from base
Merge branch 'master' of ssh://github.com/scrbrd/scoreboard
[js, view] Removed iScroll scrollbar; Fixed CloseButton accidentally firing.
[view, model, css] Fixed Rankings sort; added Headline component; css for LeagueSummary.
[view, model] Added Img Element; added ProfileIcon; added icons to League.
[view, css] Added CoverPhoto to League Properties; added app.components.py.
[view] separating a couple of changes getting in the way of create dialog

    - move SubmitButton to view.elements.base
    - change SqSubmitButton to PostButton
    - change SqSubmitButtonSection to PostButtonSection
    - add skeleton for Switch extending CheckboxInput
    - edit Form signature and make subclasses consistent
    - add some basic copy
[view, model] Fleshed out GameStory; Fixed Game to LeagueView and elements.

    1. Fixed Game->LeagueView interactions (name, opponents).
    2. Created GameStory innards - ResultHeadline, PlayedHeadline,
        OpponentGroup.
    3. Cleaned up elements/base.py - append_child, validate.
[view, css] Added time to GameStory; changed icons; added dateutil.
[view] Removed append_classes from base.Element.
[dialog] create game

Tracker #: 32688117

the below is taken from the task referenced above, but tagged
opponents are grouped by result [overlapping list indices were getting in the
way].

Description: Adapt CreateGame dialog by changing scores to W/L and grouping players by
result type visually. Change form to accomodate the score change but still
submit opponent-result lines (as opposed to grouping players by result).

Organize the Game submission as:
Creator: ID,
Opponent: {ID: {Metric_Name: Metric_Value}}

x Convert Scores into Wins and Losses in the form in python view, and js view.

x Reorganize Player/Result components so that Results are tied to groups of
players. Mostly a python component reorg, but also some css positioning.
(Tagging hasn't been built yet so it won't work after this but the profile
pictures will look right.)

    Note: this turned out to be backwards...tagging does work, but pics loaded
    are not dynamic.

- Add function x button ro remove players.Add function x button ro remove
players.

    Note: may be pushed to separate story for stylizing dialog.

x Introduce Won/Lost/Played select element to form and have form submission logic
use this to create opponent-metric items.

    Note: this is functional, but nothing is hidden/shown.

x Convert gamescore to opponent-metric from create game dialog through CRUD.js
(the rest is complete.) readyGameForSubmit; dialog hands off code to CRUD
correctly.

x validate workflow through to the model and that games are created.
[model, view, js, css] Graph gen scripts; Fixed css; CreateGame functionality; app_copy -> sqcopy.
[view.app] add AppThumbnail subclassing Thumbnail to use default images
generically and remove some unused code
[view.*.copy] split view.sqcopy into view.{elements,app,modules}.copy

- sqcopy...ugh.
- modules should definitely not have a copy file, but siloing one there is
  definitely better than leaving one catch-all inthe top-level directory
- copy that