ADD: [mouse] support long click + full click/double/long support for 5 buttons

/cc @jmarshallnz @Montellese 
You return this, function return type is uint32_t.