Cleanup Loading and NavState code

Cleanup Loading and NavState code, there's currently additional calls to both which are slightly confusing (and don't provide any benefit).

So simplify by setting SetIsLoading(true) on LoadStart and SetIsLoading(false) on LoadEnd. Then only set NavState in ClientAdapter::OnLoadingStateChange

Needs a little more testing before merge.