### Summary

`AnsibleEnvironment.from_string` returns `AnsibleJ2Template` which is based on jinja’s non-native `Template` at the moment but since we have moved over to `NativeEnvironment` it should be probably be based on `NativeTemplate` instead. 

If a `render` method is called on the returned template, its non-native version is called which is unexpected as `NativeEnvironment` was used to create the template. This [creates issues](https://dashboard.zuul.ansible.com/t/ansible/build/8e423341f7b74189a59983bd666b6212).

We do not see this issue in ansible-core because we do not call the `render` method directly but do it in a custom way instead. However fixing this might prevent issues in the future.

### Issue Type

Bug Report

### Component Name

lib/ansible/template/template.py

### Ansible Version

```console
$ ansible --version
devel (2.13.0.dev0) only
```


### Configuration

```console
$ ansible-config dump --only-changed
```


### OS / Environment

N/A

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```python
from ansible.template import Templar

environment = Templar(loader=None).environment

template = environment.from_string("{{ a }}")

result = template.render({'a': 1})
```


### Expected Results

-

### Actual Results

```console
-
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
#
#
#
#
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import jinja2
__all__ = ['AnsibleJ2Template']
class AnsibleJ2Template(jinja2.environment.Template):
    '''
    A helper class, which prevents Jinja2 from running AnsibleJ2Vars through dict().
    Without this, {% include %} and similar will create new contexts unlike the special
    one created in Templar.template. This ensures they are all alike, except for
    potential locals.
    '''
    def new_context(self, vars=None, shared=False, locals=None):
        if vars is None:
            vars = dict(self.globals or ())
        if isinstance(vars, dict):
            vars = vars.copy()
            if locals is not None:
                vars.update(locals)
        else:
            vars = vars.add_locals(locals)
        return self.environment.context_class(self.environment, vars, self.name, self.blocks)