chore: misc fixes

  - allow dereferencing data() on empty string_view
  - add missing header
  - remove old 3rdparty cruft