Fixed a stability issue and few enhancements

1-  Added the following code in opemMenu and closeMenu, before creating a new Timer object
if (m_timer != null) {
    m_timer.cancel();
}


To avoid a bug that occurs when continuously invoking open/close Menu quickly the timer runs forever and the menu hang.

2- Add support for the menu to be on the left or the right side of the screen
3- Convert all hard-coded values to constant variables
4- add toggleMenu() method