Collaborative Multithreading: An Open Scalable Processor Architecture for Embedded Multimedia Applications