infrastructure for split parse/eval for files containing toplevel breakpoints
discern between top-level and function-level debug modes on the client
set and hit top-level breakpoints
inject function breakpoints during expression evaluation
infrastructure for breakpoint injection during stepping
automatically snap top-level breakpoints to first line containing code
hide source debugging internals in the callstack
avoid invoking debug toolbar when there are no top-level breakpoints
allow breakpoints to be set and cleared during file execution
persist top-level breakpoints through browser reload
fix console noise when debugging shiny apps
fix hang when debugging shiny apps in some circumstances (avoid R hang in capture.output for shiny S4 object)
use source.for.debug invocation rather than explicit RPC call
persist debugging state through browser reload (through session information)
exit top-level debug session when restarting R
respect encodings for debug sourcing if specified
support simple relative paths and echo during debug evaluation
fix bugs when breakpoints are set on the first line, or on a line following a function containing breakpoints
fix continuation and line-highlighting problems when returning to top-level debug state from function debug state
fix toolbar/pause issues when leaving function debug context for toplevel debug context