WIP: Cache aware streaming nfa
# What does this PR do ?

Add cache aware streaming model in nemo force aligner

Should be easy for ctc segmentation tool to call and get the log probs as well.

Most of the codes are copied from ```speech_to_text_cache_aware_streaming_infer.py```.


**Collection**: [Note which collection this PR will affect]
ASR

# Changelog 
Added two functions in ASRModuleMixin (mixin.py)  (Not sure if this is the right place to add. Please comment and suggest.)

# Usage
* You can potentially add a usage example below

```python
nemo_model="nemo_models/cache_aware_ctc.nemo"
cd NeMo/tools/nemo_forced_aligner/
python3 align.py \
        batch_size=2 \
        model_path=$nemo_model \
        model_downsample_factor=4 \
        manifest_filepath=$manifest \
        output_dir=./streaming_ctm_with_pred \
        align_using_pred_text=true \
        simulate_cache_aware_streaming=true
```

# Before your PR is "Ready for review"
**Pre checks**:
- [x] Make sure you read and followed [Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md)
- [ ] Did you write any new necessary tests?
- [ ] Did you add or update any necessary documentation?
- [ ] Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
  - [ ] Reviewer: Does the PR have correct import guards for all optional libraries?
  
**PR Type**:
- [x] 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.

@VahidooX  @erastorgueva-nv

# Additional Information
* Related to # (issue)
