Refactored drawing into VisRep classes per entity

So the idea here is that rather than breaking draw routines by rendering system and genericized primitive shape, or by rendering system and specific visual entity, or lumping into collections per rendering system, we're instead grouping by visual entity so that alternate rendering code can be side-by-side and stylistic state (constant or variable) can be centralized in OO-oriented instances.

Also, I feel these VisReps should be able to persist their own state, yet be disposable and effortlessly recreatable.  They very much represent how the user perceives them; they shouldn't jump in appearance while in the field of view or nearby (in the user's visual awareness), but can alter or reset minimally when outside of that.

• The drawing that was previously all done in ArenaVisRep is now broken into new BackgroundVisRep, RingVisRep, OutsideRingVisRep, and InsideRingVisRep classes.
	• All of the VisReps are now contained within a VisRep subdir.
• Added validation to each of the VisReps, using a standardized validation pass.
	• Created a Validating protocol to standardize the valid property, isValid accessor, and validateBeingQuiet:terse: method.
• Eliminated ArenaVisRep's initWithPPI in favor of a PPI property.  (PPI is likely moving/change soon anyway.)
• Memoized pseudo-constants moved to the top of each file, with unique names (which makes them much easier to debug, and makes it easier understand that they're not instance-scope).
• Memoized pseudo-constant accessor logic cleaned up:
	• MemoizedInitializerForUIBezierPath typedef for the block being used
	• Blocks take in a handle to the static var now (instead of referencing them directly), and are passed the address of the static var.

Also:
• Changed SceneForCG's clearingColor to 50% gray.  This makes mistakes easier to spot (which is the current primary intent of clear-filling here).
• A few added and updated #pragma mark sections here and there.
• Updated xcodeproj file with additions and moves.

Notes:
• Currently a bit of duped code for the circle paths.
• All that validation stuff is stupid overkill, actually.  A good idea for elsewhere or the future, but I think I'm going to remove it from here for now and replace it with something much simpler.
Removed unnecessary instance variable initializers

Forgot that all for new instances is zeroed in Obj-C.  Many of these initializers weren't necessary.  I left in the ones that seem to have equivalent zero and non-zero states (booleans, starting indexes).
Removed const from the NSInteger return and arg types for calcFrameInterval within SceneViewControllerForCG.

This really isn't needed unless this were a pointer or a reference pass.
Consistified indent and blank-line spacing.

Inconsistency bothers me.  A lot.

• All tab-indentation now.
• Blank lines given the same indentation as the rest of the block.
• Three blank lines between each major block in a file (@interface, @implementation, file-scope constants, includes/forward declarations), with the exception of the first (almost always includes/forward declarations, separated from the file header comment above by 1 blank line).
Removed all that validation junk

Removed it and replaced with what I really needed:
• PPI failsafe check before drawing
• Better nil cascading (early fetch, return on nil) for UIBezierPath pseudo-constants that rely on each other (so that a nil path earlier leads to a nil path, not a funky one)

I guess I was thinking I was in Ruby again and this would wrap up with a nice DSL-like syntax, which it totally didn't.

Also:
• Added `UIBezierPath *` return type to block definitions (in addition to the type).  Obj-C gets cranky when you have an alternate code flow that returns nil.  Added to all of them because consistency is cool.
Fixed a couple of static code analyzer issues.

Both in SceneViewController:
• I was retaining and releasing displayLink more than necessary.  Now autoreleases into the retained property, and just nils the property on deconstruction.
• frameInterval could've been 0 within framesPerSecond, and could've lead to a divide-by-zero error (although I thought I saw this displayed as “NaN”.  Now returns 0 in this case.
Merge-update from branch 'master' into refactor/re-gl-ize