Interface to standardize camera implementations

Created a abstract class with "Interface" look to standardize different
camera implementations.