Improve handling of nil and empty objects.

- Numeric#to_s or #inspect looks the same, so don't bother
  distinguishing
- Realized nil.to_s gives an empty string, which is not helpful,
  nil.inspect actually tells us we're nil
- Since we always want to inspect empty Strings, we can reuse the code
  for both view and analyze in the analyzeable? method