Debugger: More tweaks to expression window.

- If expression evaluation fails in some way, report it in the result
  view, rather than popping up a BAlert for it.
- Set minimum size on input field.
Debugger: Locking cleanups.

- Using BMessenger as an indirect lock is unnecessary, as
  BLooper::Lock() checks if the current looper is valid via the global
  looper list directly.
- Fix race conditions. When asked to show various subwindows, lock them
  before calling Activate(), as the window could otherwise potentially
  quit in between us checking pointer validity and calling Activate().
- _GetActiveSourceLanguage() needs to acquire a reference to the language
  object in the case where it's retrieved from the active source code.
  Otherwise, an unbalanced release would take place when creating the
  expression window, leading to crashes.

Thanks to Stephan for reviewing.