Add the initial linear gradient for gl

For that we simplify the common gradient code first
Also add a gradient example to ease the testing