mm-video: Fix component_init() failed use cases

Video playback is failed if component_init() fails before
message and async threads were created due to thread_join()
function being called with out checking whether the threads
were created. This commit will add check conditions to
verify whether threads were created before calling
thread_join() functions.
This commit also moves the video driver closing function
from comopnent_deinit() to destructor() after thread_join()
functions as video driver needs to be closed after messsage
and async threads were exited.

Change-Id: Iffd56a0b6685ef08feae610f226fe9b81382b542
CRs-fixed: 425160
2 files changed