Maximum power point tracking algorithms and circuits