[Yrrr, I don't think writing replies in HTML is going to work out..]
You can in principle use it without a gtk window,
since nothing in Mozilla::DOM depends on GtkMozEmbed,
but I don't know of any other Perl module besides
Gtk2::MozEmbed which embeds mozilla.
Gtk2::MozEmbed is a Gtk2::Widget, so you have to use
something which can have a Gtk2::Widget added to it,
which I believe implies a Gtk2::Container.
Quickly grepping Gtk2,
./Gtk2/Bin.pm:@ISA=qw(Gtk2::Container);
./Gtk2/Box.pm:@ISA=qw(Gtk2::Container);
./Gtk2/CList.pm:@ISA = qw(Gtk2::Container);
./Gtk2/Fixed.pm:@ISA=qw(Gtk2::Container);
./Gtk2/Layout.pm:@ISA = qw(Gtk2::Container);
./Gtk2/List.pm:@ISA = qw(Gtk2::Container);
./Gtk2/MenuShell.pm:@ISA=qw(Gtk2::Container);
./Gtk2/Notebook.pm:our @ISA=qw(Gtk2::Container);
./Gtk2/Paned.pm:@ISA=qw(Gtk2::Container);
./Gtk2/Socket.pm:@ISA=qw(Gtk2::Container);
./Gtk2/Table.pm:@ISA=qw(Gtk2::Container);
./Gtk2/TextView.pm:@ISA=qw(Gtk2::Container);
./Gtk2/Toolbar.pm:@ISA=qw(Gtk2::Container);
./Gtk2/Tree.pm:@ISA=qw(Gtk2::Container);
./Gtk2/TreeView.pm:@ISA=qw(Gtk2::Container);
and whatever inherits from those (e.g. Gtk2::Window isa Gtk2::Bin).