Factored out isBrowser() to runtime-util