add const versions of *_backend()

*_backend subs call _can_load, _can_load takes a couple ms, so its very
expensive, create a constant version so it can fold away, in other modules.
A decision was made to NOT introduce a BEGIN block for load_yaml_string
and load_json_string to be compiled last for folding since calling those 2
subs is rare and heavy. The const sub is called instead. This is still
better than calling *_backend() subs. Also simplfy _can_load.

I spoke for a bit with ether about this earlier today