Flashlight and Pyctcdecode decoders to branch 1.23
# Preserve CPU Flashlight and Pyctcdecode beamsearch with Ngram LM 

Support Flashlight and Pyctcdecode decoding with pure KenLM and NeMo KenLM 
Standardize API of CLI inference scripts

**Collection**: ASR

# Changelog 
- Add specific line by line info of high level changes in this PR.

```python
python3 scripts/asr_language_modeling/ngram_lm/eval_beamsearch_ngram_ctc.py \
nemo_model_file=am_model.nemo  \
input_manifest=manifest.json  \
preds_output_folder=/tmp   \
ctc_decoding.strategy=flashlight \
ctc_decoding.beam.kenlm_path=am_model.kenlm \
ctc_decoding.beam.beam_size=[4]   \
ctc_decoding.beam.beam_alpha=[0.5]   \
ctc_decoding.beam.beam_beta=[0.5] \
ctc_decoding.beam.flashlight_cfg.lexicon_path=am_model.flashlight_lexicon \ # DEFAULT_TOKEN_OFFSET
batch_size=32  \
beam_batch_size=1 \
device=cuda:1

python3 examples/asr/speech_to_text_eval.py  \
nemo_model_file=am_model.nemo \ 
input_manifest=manifest.json \
decoder_type=ctc  
ctc_decoding.strategy=flashlight \  
ctc_decoding.beam.kenlm_path=am_model.bin \
ctc_decoding.beam.beam_size=4   \
ctc_decoding.beam.beam_alpha=0.5   \
ctc_decoding.beam.beam_beta=0.5 \
ctc_decoding.beam.flashlight_cfg.lexicon_path=am_model.flashlight_lexicon \ # DEFAULT_TOKEN_OFFSET
ctc_decoding.beam.return_best_hypothesis=true \
batch_size=32  \
output_manifest=/tmp/manifest_out.json 
```
**PR Type**:
- [ V] New Feature
- [ ] Bugfix
- [ ] Documentation

If you haven't finished some of the above items you can still open "Draft" PR.


## Who can review?

Anyone in the community is free to review the PR once the checks have passed. 
[Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md) contains specific people who can review PRs to various areas.

# Additional Information
* Related to # (issue)
