Should have been part of the last commit
Refactor - put the eval() related code into its own module
variable inspection now works with more complicated expressions like @list[1,2]

Moved the get_var_at_level() code to its own module for easier testing.

Helper function evaluate_complex_var_at_level() decomposes more complicated
expressions into individual variable operations.

the $level arg to get_var_at_level() is now in relation to the calling function.
Internally, it increments the level to apply the fixup and rejects requests to
stack levels inside itself.
Do a better job of hiliting vars during hover
When hovering over the indexed part of a variable, also hilite the base part of the variable