WordPress plugin with its own “site”/theme

I don’t quite know what you mean by “include a theme” and you are talking about a potentially large and complicated project but I think you should be able to control the display of your plugin content with the template_redirect hook.

function template_redir_wpse_99209($content) {
  // code or file include, for example
  // exit;
}
add_action('template_redirect','template_redir_wpse_99209',1);

You can echo your page content and then exit, or include a file from anywhere, including your plugin. You don’t have to redirect to a theme template.

It is a bit of a hack but I don’t know of another way to “inject” a page. This is “theme” territory. The theme usually controls content display.

There is also the template_include hook but you’d be looking at the same kind of exit hack.

I don’t know how friendly this will be, since you are completely hijacking what is usually theme territory. I’d at least consider allowing the theme to override your defaults.