Lite: Support binding non-bphwc4 metal buffer to tensor
Hi @terryheo Can you please review this PR ? Thank you! Hi @jongkweh Can you please check @terryheo's comments and keep us posted ? Thank you! This PR is stale because it has been open for 14 days with no activity. It will be closed if no further activity occurs. Thank you. This PR was closed because it has been inactive for 14 days since being marked as stale. Please reopen if you'd like to work on this further.
## Purpose
This is to support binding non-bphwc4 metal buffer to tensor. 

## Background
When binding metal buffer to tensor, the current implementation assumes the metal buffer to be in bphwc4 format.  
In order to bind a metal buffer to tensor, the user needs to convert the metal buffer to bphwc4 format. (for CPU inputs, this is taken care inside the metal delegate). PHWC4 is a unique format used inside TfLite so i think this should be taken care inside metal delegate just like the CPU input buffers.  

## Considerations
If we forcefully convert every binded metal buffer to phwc4 format, users that already are already using `TFLGpuDelegateBindMetalBufferToTensor` function with custom phwc4 might be affected. 
So there needs to be a way to check whether the input metal buffer is in phwc4 format. 
I guess you could add a parameter for `TFLGpuDelegateBindMetalBufferToTensor` the function but without adding extra parameter, one way we can estimate is by the metal buffer length (but  it might not be enough). 