- Introduced depth parameter to EncodeWithDepth function to allow generating barcodes with specified color depth. - Updated Encode function to use EncodeWithDepth with a default depth of 16.
due to a race condition some DM codes were created incorrectly
more tests and code cleanup