[scenic] Simplified gfx::Session

Pulled all the ApplyCommand stuff out of session into it's own GfxCommandApplier class to make Session more readable, and simplified the destruction of SessionHandler, so that it's now a two-way dependency between SessionHandler and SessionManager instead of a three-way dependency involving Session.

Also removed the exposed reference to scenic from CommandDispatcherContext mentioned in SCN-808.

SCN-1194 #done
SCN-808 #comment

Test: fx build-push scenic_tests && fx run-test scenic_tests

And manually verified that
killall basemgr
didn't kill scenic and that launching
fx shell set_root_view fuchsia-pkg://fuchsia.com/noodles#meta/noodles.cmx
worked afterwards

Change-Id: I51631862e22dd4bebb13946343ccda52aee0c5ea
45 files changed