Added client-side part of spectating, tons of fixes from testing.