1.Fix user heap corruption by usr_params

Avoids corruption of heap by usr_params, and vice versa, when
stack_size+heap_size is a multiple of 1 MiB. usr_params was
previously unintentionally stored just outside the allocated
stack. If there is not enough padding between stack and heap,
usr_params will overwrite a part of the heap.

2.remove the 1MB limitation of heap_size+stack_size

Signed-off-by: "Rock P. Zhang" <RockPZhang@viatech.com.cn>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)