shared/timeout-ell: Fix timeout wrapper implementation
This fixes the following issues:
- Correct user data is passed around to l_timeout_create():
locally allocated timeout data is a valid "user data" to
associate with a newly created timeout. Previously, user_data
passed as an argument to timeout_add() was incorrectly used as
an argument to l_timeout_create()
- To maintain common API and work around the issue when the conversion
of a pointer to an unsigned int truncates the initial value, a queue
of active timeouts is maintained where pointer each l_timeout structure
is associate with a unique id. This id is returned when timeout_create()
API is called and can be subsequently used with timeout_remove().
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>